#ifndef ADDON_PACKAGE_H
#define ADDON_PACKAGE_H
#include "AddonManager.h"

class AddonPackagePrivate : public AddonPackage
{
public:
	AddonPackagePrivate();
	AddonPackagePrivate(const ModuleInfo& info);

	void setPackageInfo(const ModuleInfo& info);
	void destroy();
public:
	void initial();
	//WidgetFrameLess* createAddonWidget()const;

	bool process(const QMouseEvent& event);
	bool process(const QKeyEvent& event);
	bool process(const QWheelEvent& event);

	//void receivedMessage(const AddonMessage& message);
	//void sendMessage(const AddonMessage& message);

	ModuleInfo getAddonInfo()const;
public:
	void registerAddon(Addon* addon);
    QStringList getAddonNameList()const;
    Addon* getAddonByName(const QString& name)const;
private:
	ModuleInfo moduleInfo;
	QStringList addonNameList;
	QList<Addon*> addonList;
};

#endif